
import { toLogin } from "@/router";
import axios from "axios";
import { ElMessageBox } from "element-plus";
// import { config } from "process";
// 创建新的 axios 实例对象
const instance = axios.create({
    baseURL: import.meta.env.VITE_APP_BASE_URL,
    timeout: 5000
});

//请求拦截器
//在项目中所有请求发往后端的过程中，拦截下来
instance.interceptors.request.use(config => {
    //将本地存储中的user_token获取出来，添加到请求头中
    config.headers.Authorization = localStorage.user_token;
    return config;
});








// 响应拦截器
instance.interceptors.response.use(res => {
    // 将响应对象中的 data 交给前端
    return res.data;
}, (error) => {

    if (error?.status == 401 || error?.response?.status == 401) {
        //进入if,这表示当前请求出现了401的报错，说明token验证失败

        ElMessageBox.alert('登录已过期，请重新登录', '提示', {
            callback: () => {
                toLogin();
            }
        })


    }
    return Promise.reject(error.message);

})
export default instance;